home *** CD-ROM | disk | FTP | other *** search
/ BMUG Revelations / BMUG Revelations.toast / Utilities / Network / Chat-110 / Chat Documentation < prev    next >
Text File  |  1992-12-12  |  10KB  |  165 lines

  1. Chat 1.1.0 © Peter N Lewis, Mar 1992.
  2. This program is free, but I retain the copyright on it.
  3.  
  4. This program was initially written to assist in the online meetings of the TopSoft group, a group of mac programmers on the Internet, dedicated to producing free, high quality software and sample code.  To get more information about this group, ftp to syrinx.kgs.ukans.edu and check out the /topsoft directory, or send some mail to ts-request@syrinx.kgs.ukans.edu and ask to be added to the mailing list.
  5.  
  6. • Contents
  7.  
  8.       What Chat Does
  9.       Using Chat
  10.       Customising Chat
  11.       How It Works
  12.       Limitations
  13.       Small Print
  14.       Warranty
  15.       Fine Print
  16.       Version History
  17.       The Author
  18.  
  19. • What Chat Does
  20.  
  21. Chat is a background only application that lets Macs with MacTCP 1.1 serve as a very primitive IRC.  Once Chat is running on your mac, multiple people can Telnet to port 1420 on your mac and have online discussions .  Chat has no macintosh user interface, the only way to use it is by telneting to your mac.  I wrote this to hold the weekly online meetings of the TopSoft group, which have proved very successful.   Chat can support upwards of 12 users with the current memory partition (200k), and can support an arbitrarily large number of users given enough memory (though MacTCP will probably blow up if you try too many :-).  Add about 5 or 10k for each extra users you want.
  22.  
  23. • Using Chat
  24.  
  25. You must have MacTCP 1.1 installed in order to use Chat.
  26.  
  27. Put Chat or an alias to it in the Startup Folder (System 7) or make it a startup application (System 6 - note you will have to use "Selected Applications and DAs" since background only applications are not counted as Open Applications under System 6).  Double-Click Chat to get it started now.
  28.  
  29. Now you need to connect to Chat using NCSA/Telnet, MUDDweller, telnet on unix or VMS machines or some other method...
  30.  
  31. NCSA/Telnet:
  32. Choose Open Connection from the File Menu, type in the name (or IP number) of your mac, a space and then the port number (1420).
  33.  
  34. MUDDweller:
  35. Choose New, then choose TCP/IP Address from the configure menu and type in the ip numbers of your mac (or the name for newer versions of MUDDweller), and the port number (1420).  Hit OK, and then choose Open Connection from the Configure menu.
  36.  
  37. Unix:
  38. telnet <macname or ip number> 1420
  39.  
  40. VMS:
  41. telnet <macname or ip number> /port=1420
  42.  
  43. When you connect, it will ask you for a channel.  Channels are defined in a STR# resource inside chat (no, I'm not going to make a fancy UI for editing it).  By default, there are two channels, “normal” and “nolog”.  The normal channel is logged to Normal Log on your system volume.  The nolog channel is not logged (obviously :-).  After that it will ask you for your name.  You are now logged in, but Chat is very boring with only one person logged in, so get someone else to log in as well, or log in yourself several times.  From now on anything you type will be echoed to all other users in a format like this:
  44.  
  45. I type “Hello”, and others would see:
  46. PeterL: Hello
  47.  
  48. Here is a sample session:
  49.  
  50. **** Sample Session ****
  51. unixprompt> telnet mymac 1420
  52. Welcome to Peter's Private Party Line.
  53. Select a channel ("normal" is a good bet):normal
  54. Enter your name:PeterL
  55. Welcome.  Commands start with a  slash (/), everything else goes to the channel.
  56. Warning: Everything said is logged and may be used against you.
  57. /LIST
  58. FredB
  59. Hi Fred, whats up?
  60. FredB: Ahh, Peter you showed up.  Nothing much, usual stuff.
  61. FredB: How's Chat coming along?
  62. FredB: How is Chat coming along?
  63. ****
  64.  
  65. Here, I typed the lines:
  66. telnet mymac 1420
  67. normal (third line)
  68. PeterL (fourth line)
  69. Hi Fred, whats up?
  70.  
  71. Try it out, you’ll get the idea pretty quick.
  72.  
  73. There are several commands, they all start with a slash (/), to get a list, just type "/<return>":
  74.  
  75. ****
  76. /
  77. Bad command.  Commands are:
  78. /QUIT - exit chat, but why would you want to leave?
  79. /LIST - display a list of people on this channel.
  80. /DO <action> - display an action like "Yourname <action>"
  81. /ME <action> - same as /DO
  82. /SET <variable> <value> - set a variable (eg /SET echo true)
  83. everything else is sent to everyone on the channel.
  84. ****
  85.  
  86. There is also a silent command which only the owner should use, QUITNOW (case IS relevant), which closes the server down.  Don’t use this on someone else’s server!  As the owner, you can change this command by changing the Globals STR#, but you probably wont need to, since no one reads the documentation anyway, they'll never find out about it :-)
  87.  
  88. There is no way to change channels once you are on, or to listen in on more than one channel at once (except by connecting to the server more than once of course).
  89.  
  90. • Customising Chat
  91.  
  92. You can customise Chat by using ResEdit to change the STR# resource which contains the port number, the channel names, and log names, the Chat Log creator, the commands, and all the strings that Chat produces.
  93.  
  94. • How It Works
  95.  
  96. Chat is a very simple program, I wrote it in about three hours, plus I've done about a dozen more hours neatifying it, and a couple hours getting it ready to send out.  The entire program (ignoring the TCP and other libraries) is only a couple hundred lines, and as such should be a good starting sample code for writing TCP applications (the pascal source code will be sent out as with most of my programs).
  97.  
  98. All it does is listen to the TCP port specified in the STR# resource.  When it gets a new connection it starts up another listener, and deals with the user, first getting their channel and name, and then echoing all their messages to the other users on that channel.  It does this by keeping a list of all currently logged on users, when a line comes in from one user, it goes thru the list and echoes it (with the user’s name prepended) to all other users with the same channel.
  99.  
  100. • Limitations
  101.  
  102. Chat probably require the 128k ROM and System version 6.0 or higher.  It may well only work with a Mac IIsi (not mine)-:, and System 7.0.  It definitely requires MacTCP v1.1 or better yet 1.1.1.
  103.  
  104. There are several caveats.  Second, in a “crowded room”, you may have troubles with people all speaking at once (which is not a real problem for users using MUDDweller, but mucks up the screens of users who connect with other clients).  The solution we adopted was to start and end you messages with a blank line, so people can tell when you have finished, and avoid interrupting you once you have started.
  105.  
  106. • Small Print
  107.  
  108. This program is free, don’t bother sending me any money for this one, it was only a days work anyway.  If you like it, send me an Email message saying hello, or a postcard or something like that.
  109.  
  110. You may distribute Chat any way you wish as long as you don't charge for it (reasonable download costs such as Compu$erve are ok I guess (although who would call Compu$erve's download costs reasonable?)).  It would probably be a good idea to keep this documentation file with the program, but I'm hardly likely to check up on you now am I!  I don't guarantee any support, but I always answer my Email (I'm not so good with snail-mail and those horrible little bits of paper and such!).  If I don't answer Email its because your message didn't get to me, or my reply bounced (so try again, and include a valid Internet address if you can).
  111.  
  112. You MAY NOT distribute it on any magnetic media you charge for without my express permission unless you charge less that US$3 for the disks (and no membership costs).  I am sick and tired of seeing people selling PD/Shareware software for ten dollars a disk without any reimbursement to the authors.  If you are a legitimate user group, let me know and I'll waive teh "no membership costs" restriction. 
  113.  
  114. • Warranty
  115.  
  116.       There is absolutely NO warranty, guarantee, hint, suggestion or anything else that would lead anyone to think that Chat do anything stated in this documentation.  It usually does not destroy data (systems, hardware, etc), and has sometimes worked on my Mac with System 7.0.  It is highly unlikely that it will work with older systems (pre 6.0 anyway) or with the 64k ROM.  It might work with the other models, but I don't have them all, so I don't know (Anyone want to give me a IIfx (or one of those new beasts?  How did they come up with such a terrible name???) so I can check for compatibility?).  It might work with future versions of MacTCP (after 1.1.1), but who can tell?  If it works on your system (or especially if it doesn't!), send me a postcard or some Email and let me know!
  117.  
  118. • Fine Print
  119.  
  120.       Peter Lewis hereby disclaims all warranties relating to this software, whether express or implied, including without limitation any implied warranties of merchantability or fitness for a particular purpose.  Does any one really read this stuff.  Peter Lewis will not be liable for any special, incidental, consequential, indirect or similar damages due to loss of data or any other reason, even if Peter Lewis or an agent of his has been advised of the possibility of such damages.  In no event shall Peter Lewis be liable for any damages, regardless of the form of the claim.  The person using the software bears all risk as to the quality and performance of the software.
  121.  
  122. • Version History
  123.  
  124. Still to do -
  125.  
  126. Perhaps a password facility.
  127. Private message facility - nope, I've decided not to do this.
  128. Uniteruptable messages
  129. Log play back
  130.  
  131. v1.1.0
  132. ~Multiple channels
  133. ~New / command structure
  134.  
  135. v1.0.1
  136. ~Word wrapping lines.
  137.  
  138. v1.0.0
  139. ~Moved strings into resource fork.
  140. ~Improved strings
  141.  
  142. • The Author
  143.  
  144. Other programs also written by me:
  145. DeHQX 2.0.0 - BinHex decoder.
  146. Finger 1.3.5 - Macintosh Finger client/daemon.
  147. Talk 1.0.6 - Macintosh Talk client/daemon.
  148. Chat 1.0.0 - Multiuser primitive irc-like daemon.
  149. FTPd 1.1.0 - FTP server for System 7
  150.  
  151. My programs are all available from redback.cs.uwa.edu.au in /others/peterlewis.
  152.  
  153. Send postcards, comments, bug reports, and wishes to:
  154.  
  155. Peter Lewis,
  156. 10 Earlston Way,
  157. Booragoon, WA, 6154,
  158. AUSTRALIA
  159.  
  160. or by electronic mail to:
  161.  
  162. Internet: peter@cujo.curtin.edu.au
  163. Bitnet: peter%cujo.curtin.edu.au@cunyvm.bitnet
  164. UUCP: uunet!munnari.oz!cujo.curtin.edu.au!peter
  165.